<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //创建数组对象 Array
        //(1)创建长度为0的空数组
        var arr1 = new Array();
        console.log(arr1);
        //***重点
        var arr2 = [];
        console.log(arr2);
        //js数组长度可以不设置
        //(2)设置指定长度的数组
        var arr3 = new Array(10);
        console.log(arr3);
        //(3)带有元素的数组
        var arr4 = new Array('javascript','mysql','java','html','css',5,1.2,true);
        console.log(arr4);
        //***重点
        var arr5 = ['javascript','mysql','java','html','css',5,1.2,true];
        console.log(arr5);
        //(4)访问数组元素 添加元素 获取元素 数组名[下标] 下标从0开始
        arr2[0] = 1;
        arr2[1] = 2;
        arr2[99] = 99;
        console.log(arr2);
        console.log(arr5[0]);
        arr5[0] = 'js';
        console.log(arr5);
        //(5)遍历数组
        for(var i=0;i < arr5.length;i++){
            console.log(arr5[i]);
        }
        //数组对象的属性和方法
        //属性 数组名.length  数组长度
        //方法
        //反转数组 reverse
        console.log(arr5.reverse());
        //数组排序 sort()
        console.log(arr5.sort());
        console.log(arr5.sort(compareFn));
        //自定义排序规则
        function compareFn(a, b) {
            if (a.length <b.length) {
                return -1;
            }
            if (a.length >b.length ) {
                return 1;
            }
            // a 一定等于 b
            return 0;
        }
        //数组添加、删除、替换
        // 添加 push() 数组末尾添加 unshift() 数组开头添加
        // 删除 pop() 数组末尾删除 shift() 数组开头删除
        //集添加、删除、替换为一体 splice(修改的下标位置,删除的个数,添加的新元素1,添加的新元素2,...)
        var months = [1,2,3,4,6,7];
        //添加元素 
        months.splice(4,0,5,8);
        console.log(months);
        //删除元素
        months.splice(1,1);
        console.log(months);
        //替换元素
        months.splice(2,1,9,10);
        console.log(months);

    </script>
</body>
</html>